制作方法
《任意时长倒计时器》的制作方法
【实例说明】:
本例制作一个倒计时效果。具体效果为:输入某个时间长后,比如40分钟,单击“倒计时开始”按钮后,倒计时开始的动态效果。
【操作步骤】:
一、新建文档
- 新建一个文档,大小为“400×300”。
- 背景色设为白色。
- 双击“图层1”编辑其名称为“按钮层”;
- 在“按钮层”层的第一帧,打开库面板,从中拖放一种按钮到舞台上面。然后再复制一个相同的按钮放在其旁边,并在按钮上输入“开始计时、结束计时”文本信息,效果如下图:
- 再选中“按钮层”的第3帧;按F7键插入一个“空白关键帧”;从库中再拖放一个按钮放在舞台的右下角,并在上面输入“返回”文本信息,如下图所示:
- 然后用选择工具选中“开始计时”按钮;打开属性面板,将其实例名称命名为“my_mc”;用同样的方法,再将“结束计时”按钮和“返回”按钮的实例名称分别改为“jieshudati”和“fanhui”。
- 然后锁定该图层;
二、制作“时间剪辑”(time_mc)层
- 选中“按钮层”;
- 单击添加添加图层按钮,再新建一个图层“图层2”;
- 双击“图层2”编辑其名称为“time_mc层”;
- 选中第1帧;按F7键插入“空白关键帧”;再选中第2帧;按F6键插入“关键帧”;再选中第3帧;按F7键插入“空白关键帧”;
- 选中第2帧;选中工具栏的文本工具,输入以下文本信息:
- 再在第2帧中选择工具栏中的文本工具;然后再在每段文本的后面加入一个文本框,其中“订时时间”后面的“分钟”文本前面为“输入文本框”,实例名称为“inputtime”,变量名为“vol”;“系统时间”后面为动态文本框,变量名为“TimeText”;“开始计时时间”后面为动态文本框,名称为“dtime”,变量名为“kTimeText”;“结束计时时间”后面为动态文本框,名称为“dtime”,变量名为“jTimeText”;“倒计时时间”后面为动态文本框,名称为“dtime”,变量名为“djsTime”;如下图所地示:
- 单击选中第2帧;在舞台上面的选中区域上方右击;单击“转化为元件”命令;然后按下图进行设置:
- 单击“确定”按钮后舞台上面的该影片剪辑如下图所示:
- 双击该影片剪辑进入其编辑区;双击“图层1”;将其命名为“text层”;选中“text层”;单击时间轴左下角的添加新图层按钮,再新添加一个图层;
- 双击“图层2”;将其命名为“action”层。分别选中第1、2帧;按F7键分别插入“空白关键帧”;
- 选中“action”层的第1帧;为其添加如下代码:
mytime = new Date();
t = int(vol);
tt = t*60;
//定义一个时间函数mytime
t_h = mytime.getHours();
//定义t_h获得当前时间中的时
if (t_h<10) {
shi = "0"+t_h;
//让小时以“00”的格式显示
} else {
shi = t_h;
//把小时赋值给变量“shi”
}
t_m = mytime.getMinutes();
//定义t_m获得当前时间中的分
if (t_m<10) {
fen = "0"+t_m;
//让分钟以“00”的格式显示
} else {
fen = t_m;
//把分钟赋值给变量“fen”
}
t_s = mytime.getSeconds();
//定义t_m获得当前时间中的秒
if (t_s<10) {
miao = "0"+t_s;
//让秒数以“00”的格式显示
} else {
miao = t_s;
//把秒数赋值给变量“miao”
}
TimeText = shi+":"+fen+":"+miao;
//动态文本框显示时分秒
_parent.my_mc.onPress = function() {
_parent.my_mc.enabled = false;
kaishishijian = t_h*3600+t_m*60+t_s;
jieshushijian = kaishishijian+tt;
kshi = int(kaishishijian/3600);
kfen = int(kaishishijian%3600/60);
kmiao = kaishishijian%3600%60;
jshi = int(jieshushijian/3600);
jfen = int(jieshushijian%3600/60);
jmiao = jieshushijian%3600%60;
if (kshi<10) {
kshi = "0"+kshi;
}
if (kfen<10) {
kfen = "0"+kfen;
}
if (kmiao<10) {
kmiao = "0"+kmiao;
}
if (jshi>=24) {
(jshi=jshi-24);
}
if (jshi<10) {
jshi = "0"+jshi;
}
if (jfen<10) {
jfen = "0"+jfen;
}
if (jmiao<10) {
jmiao = "0"+jmiao;
}
kTimeText = kshi+":"+kfen+":"+kmiao;
jTimeText = jshi+":"+jfen+":"+jmiao;
};
if (_parent.my_mc.enabled) {
_parent.jieshudati.enabled = false;
djsshi = int(tt/3600);
djsfen = int(tt%3600/60);
djsmiao = tt%3600%60;
if (djsshi<10) {
djsshi = "0"+djsshi;
}
if (djsfen<10) {
djsfen = "0"+djsfen;
}
if (djsmiao<10) {
djsmiao = "0"+djsmiao;
}
djsTime = djsshi+":"+djsfen+":"+djsmiao;
} else {
_parent.jieshudati.enabled = true;
dangqianshijian = t_h*3600+t_m*60+t_s;
daojishi = jieshushijian-dangqianshijian;
djsshi = int(daojishi/3600);
djsfen = int(daojishi%3600/60);
djsmiao = daojishi%3600%60;
if (djsshi<10) {
djsshi = "0"+djsshi;
}
if (djsfen<10) {
djsfen = "0"+djsfen;
}
if (djsmiao<10) {
djsmiao = "0"+djsmiao;
}
if (dangqianshijian == jieshushijian) {
_parent.gotoAndStop(3);
}
djsTime = djsshi+":"+djsfen+":"+djsmiao;
}
_parent.jieshudati.onPress = function() {
_parent.my_mc.enabled = true;
_parent.gotoAndPlay(1);
};
- 再选中“action”层的第2帧;为其添加如下代码:
gotoAndPlay(1);
- 再选中“text层”层的第2帧;按F5键插入“帧”。目前该影片剪辑内部的时间轴如下图所示:
- 最后单击“场景1”按钮返回到主场景的舞台上面。
三、制作“失败画面”层
- 选中“time_mc层”;
- 单击添加添加图层按钮,再新建一个图层“图层3”;
- 双击“图层3”编辑其名称为“失败画面层”;
- 选中第1、2、3帧;按F7键插入“空白关键帧”;
- 选中第3帧;用文本工具输入“失败”或“超时了”文本信息;如下图所示:
四、制作“action”层
- 选中“失败画面层”;
- 单击添加添加图层按钮,再新建一个图层“图层4”;
- 双击“图层4”编辑其名称为“action”;
- 选中第1、2、3帧;按F7键插入“空白关键帧”;
- 选中第2帧;为其添加如下代码:
stop();
- 选中第3帧;为其添加如下代码:
stop();
fanhui.onPress = function() {
gotoAndPlay(1);
};
五、最后可以再新添加一个图层;用文本工具在第1帧添加“任意时长计时器”字样,如下图所示:
六、此时主场景的时间轴如下图所示:
七,按下“Ctrl+Enter”组合键测试动画效果。
|